#ifndef _KH_ENGINE_DRAWABLE_H
#define _KH_ENGINE_DRAWABLE_H
#include <Kharlia/Engine/Common.h>

namespace kharlia { namespace engine {

class FRenderInfo {
public:
    virtual ~FRenderInfo() {}
};

class KH_ENGINE_DECLSPEC FDrawable {
    FRenderInfo* mRenderInfo;
    bool mRenderInfoInvalid;

public:
    FDrawable(): mRenderInfo(NULL), mRenderInfoInvalid(false) {}
    virtual ~FDrawable() {
        if (mRenderInfo != NULL) {
            delete mRenderInfo;
        }
    }

    inline bool GetRenderInfoInvalid() const { return mRenderInfoInvalid; }
    inline void SetRenderInfoInvalid(bool value) { mRenderInfoInvalid = value; }
    inline FRenderInfo* GetRenderInfo() const { return mRenderInfo; }
    inline void SetRenderInfo(FRenderInfo* value) { mRenderInfo = value; }
};

}}

#endif